home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -screenplay- / shareware / warpquake / warpquakesrc / amiga_notes.txt < prev    next >
Text File  |  2000-02-29  |  4KB  |  110 lines

  1. Short: Source code of awinquake 0.4, a68k/ppc
  2. Author: Peter McGavin  (p.mcgavin@irl.cri.nz)
  3. Type: game/shoot
  4. Uploader: Peter McGavin  (p.mcgavin@irl.cri.nz)
  5. Version: 0.4
  6.  
  7.  
  8. This archive contains the SAS/C Amiga source code of awinquake and
  9. awinquakeppc 0.4.  You don't need it to play winquake or awinquakeppc,
  10. only if you want to try and compile it or look at how it works.
  11.  
  12. awinquake was derived from the original ID Software Linux winquake
  13. source which you can download from:
  14.  
  15.    ftp://ftp.cdrom.com/pub/idgames/idstuff/source/q1source.zip
  16.  
  17. My modified source code should still compile for Linux (APUS),
  18. Solaris, Win95, etc, with no changes --- untested.  All winquake
  19. support files for those platforms are included in this archive,
  20. even though they are not used by the Amiga version.
  21.  
  22.  
  23. ------------------------------------------------------------------------
  24. v0.4       11 Jan 2000
  25.  
  26. vid_amiga.c: Call cybergraphics.library WritePixelArray() instead of
  27. WriteChunkyPixels() under KS3.0 (provided cgx lib is open).
  28.  
  29. sys_amiga.c: PPCGetAttr (PPCINFOTAG_CPUPLL) appears to return the PLL
  30. code in the high nibble.  Calculated bus speed is more likely to be
  31. right now.
  32.  
  33. common.c and host.c: Made more changes to handling of ':' and '/' and
  34. directory paths.
  35.  
  36. Created in_amiga.c from in_null.c.  Support -mouse and -mousepointer.
  37. Changes to IDCMP message handling in vid_amiga.c.
  38.  
  39. sys_amiga.c: Changed handling of PLL for calculating bus speed.
  40. Hopefully it's right now.
  41.  
  42. sys_amiga.c: Call Host_Shutdown() on exit.  Config.cfg is written now.
  43.  
  44.  
  45. ------------------------------------------------------------------------
  46. v0.3        4 Jan 2000
  47.  
  48. v0.2 called BestCModeIDTags() even if cybergraphics.library failed to
  49. open.  That caused crashes and other problems on Amigas without
  50. cybergraphics.library.
  51.  
  52. The SAS/C __AMIGADATE__ macro generates the string (4/1/0) for 4th Jan
  53. 2000, instead of (4/1/100).
  54.  
  55.  
  56. ------------------------------------------------------------------------
  57. v0.2       30 Dec 1999
  58.  
  59. Wrote sys_amiga.c, vid_amiga.c, snd_amiga.c, cd_amiga.c and
  60. net_amigaudp.c starting with copies of sys_null.c, vid_null.c,
  61. snd_null.c, cd_null.c and net_udp.c, mainly by cutting and pasting
  62. from other projects.
  63.  
  64. Created smakefile.
  65.  
  66. PPC assembly files copied from other projects are: amiga_timer.s,
  67. amiga_cgxtagfns.s and amiga_socket_lib.s.  Also created
  68. cdplayer_pragmas.h.  It goes in ppcinclude:ppcpragmas.
  69.  
  70. Used includes and libs from SDKs for cybergraphics, AmiTCP and
  71. cdplayer.library, all on Aminet.
  72.  
  73. d_edge.c: commented out declaration of screenwidth (conflict with
  74. declaration in r_main.c).
  75.  
  76. d_local.h: made sadjust, tadjust, bbextents, bbextentt and prealspandrawer
  77. all extern to avoid duplicate definitions of symbols.
  78.  
  79. chase.c: declared SV_RecursiveHullCheck as extern.
  80.  
  81. host_cmd.c: declared SV_SaveSpawnparms as extern.
  82.  
  83. net_dgrm.c: don't #define BAN_TEST
  84.  
  85. common.c: deal with '/' in filenames in calls to COM_AddGameDirectory()
  86.  
  87. SAS/C 6.58 appears to generate bad code for R_TransformFrustum() in
  88. r_misc.c when optimisations are turned on.  Split r_misc.c into 2
  89. separate files, r_misc1.c and r_misc2.c, the latter containing only
  90. R_TransformFrustum().  Compiled r_misc2.c as a special case without
  91. optimisation.
  92.  
  93. Had a lot of trouble debugging amigaudp networking code.  Tracked down
  94. 2 problems after a full day of debugging.  The first was that the
  95. wrong errno variable was being picked up.  Replaced references to
  96. errno with calls to bsdsocket.library Errno().  The 2nd problem was in
  97. UDP_AddrCompare().  The original code compared addr1->sa_family with
  98. addr2->sa_family.  Because of the way chars are aligned in the
  99. sockaddr_in structure, this included an uninitialised byte.  Changed
  100. to compare ((struct sockaddr_in *)addr)->sin_family instead.  Finished
  101. up changing all occurrences of addr->sa_family to ((struct sockaddr_in
  102. *)addr)->sin_family.
  103.  
  104. Compiled some low-level rendering modules with ppc-amigaos-gcc instead
  105. of scppc.  Overall speed increased by about 3%.  Discovered that
  106. R_DrawSolidClippedSubmodelPolygons() was truncated by scppc to
  107. R_DrawSolidClippedSubmodelPolygo() and wouldn't link with untruncated
  108. references generated by ppc-amigaos-gcc.  Fixed by truncating the name
  109. in the source code in r_bsp.c, r_main.c and r_local.h.
  110.